/**
 * 进化节点
 * 
 * 功能：
 * 1. 存储进化节点数据
 * 2. 管理节点解锁状态
 * 3. 提供节点信息访问
 * 4. 处理节点间关系
 */
export class EvolutionNode {
    public readonly id: string;
    public readonly name: string;
    public readonly description: string;
    public readonly requirements: string[];
    public readonly effects: { [key: string]: number };
    public readonly skills: string[];
    public isUnlocked: boolean = false;

    constructor(id: string, config: EvolutionNodeConfig) {
        this.id = id;
        this.name = config.name;
        this.description = config.description;
        this.requirements = config.requirements;
        this.effects = config.effects;
        this.skills = config.skills;
    }

    public unlock(): void {
        this.isUnlocked = true;
    }
}

interface EvolutionNodeConfig {
    name: string;
    description: string;
    requirements: string[];
    effects: {
        [key: string]: number;
    };
    skills: string[];
} 